package fr.ul.ade.secunde.ui;

/**
 * Interface pour la gestion des transitions entre fragments pour les actions
 * relatives aux emplois du temps.
 * 
 * @author Michaël Schnell
 * @since Jul 2, 2013
 * 
 * @version 1.4
 */
public interface ScheduleActionListener {

	/**
	 * Demande l'affichage du détails de l'emploi du temps identifié par
	 * {@code scheduleId}.
	 * 
	 * @param scheduleId
	 *            identifiant de l'emploi du temps à afficher
	 * @param scheduleName
	 *            nom de l'emploi du temps à afficher
	 */
	public void showScheduleDetails(long scheduleId, String scheduleName);

	/**
	 * Demande l'affichage du formulaire de création d'un emploi du temps.
	 */
	public void showCreateForm();

	/**
	 * Demande l'affichage du formulaire d'édition de l'emploi du temps
	 * identifié par {@code scheduleId}.
	 * 
	 * @param scheduleId
	 *            identifiant de l'emploi du temps à éditer
	 */
	public void showEditForm(long scheduleId);

	/**
	 * Demande l'affichage du formulaire de suppression de l'emploi du temps
	 * identifié par {@code scheduleId}.
	 * 
	 * @param scheduleId
	 *            identifiant de l'emploi du temps à supprimer
	 * @param scheduleName
	 *            nom de l'emploi du temps à supprimer
	 */
	public void showDeleteForm(long scheduleId, String scheduleName);

	/**
	 * Demande l'affichage de la liste des cours de l'emploi du temps identifié
	 * par {@code scheduleId}.
	 * 
	 * @param scheduleId
	 *            identifiant de l'emploi du temps dont on veut afficher la
	 *            liste des cours
	 */
	public void showLessonList(long scheduleId);

}// interface ScheduleActionListener